layui.config({
    base: "/js/"
}).use(['form', 'vue', 'ztree', 'layer', 'jquery', 'table', 'droptree', 'openauth', 'cookie', 'utils', 'element', 'laydate'], function () {
    var form = layui.form,
        layer = layui.layer,
        $ = layui.jquery;
    var table = layui.table;
    var openauth = layui.openauth;
    var element = layui.element;
    var laydate = layui.laydate;
    $("#menus").loadMenus("PLA_PROJECT_ALL");
    //加载表头
    $.getJSON('/PLA_PROJECT_ALL/Load',
        { page: 1, limit: 1 },
        function (data) {
            var columns = data.columnHeaders.filter(u => u.Browsable === true).map(function (e) {
                return {
                    field: e.Key,
                    title: e.Description
                };
            });
            columns.unshift({
                type: 'checkbox',
                fixed: 'left'
            });
            table.render({
                elem: '#mainList',
                page: true,
                 cellMinWidth: 120 ,
                url: '/PLA_PROJECT_ALL/Load',
                cols: [columns]
                , response: {
                    statusCode: 200 //规定成功的状态码，默认：0
                }
            });
        });


    //主列表加载，可反复调用进行刷新
    var config = {};  //table的参数，如搜索key，点击tree的id
    var mainList = function (options) {
        if (options != undefined) {
            $.extend(config, options);
        }
        table.reload('mainList',
            {
                url: '/PLA_PROJECT_ALL/Load',
                where: config
                , response: {
                    statusCode: 200 //规定成功的状态码，默认：0
                }
            });
    };
    mainList();

    //添加（编辑）对话框
    var editDlg = function () {
        var vm;
        var update = false;  //是否为更新
        var show = function (data) {
            var title = update ? "编辑信息" : "添加";
            layer.open({
                title: title,
                area: ["500px", "400px"],
                type: 1,
                content: $('#divEdit'),
                success: function (layero, index) {
                    
                   
                    if (vm == undefined) {
                        vm = new Vue({
                            el: "#formEdit",
                            data() {
                                return {
                                    tmp: data  //使用一个tmp封装一下，后面可以直接用vm.tmp赋值
                                }
                            },
                            watch: {
                                tmp(val) {
                                    this.$nextTick(function () {
                                        form.render();  //刷新select等
                                        layui.droptree("/Applications/GetList", "#AppName", "#AppId", false);

                                    })
                                }
                            },
                            mounted() {
                                form.render();
                                layui.droptree("/Applications/GetList", "#AppName", "#AppId", true, function (a, b) {
                                    alert(a + "--------" + b)
                                });
                                /*
                                  lay('.date', layero).each(function () {
                $(this).removeAttr("lay-key");
                layui.laydate.render({
                    elem: this, trigger: 'click'
                });
            });
                                 */
                                lay('.date').each(function () {
                                    laydate.render({
                                        elem: this,//元素
                                        trigger: 'click'
                                    });
                                });
   
                            }
                        });
                    } else {
                        data.Id == "" ? vm.tmp = Object.assign({}) : vm.tmp = Object.assign({}, vm.tmp, data)
                    }
                },
                end: mainList
            });
            debugger
           
            var url = "/PLA_PROJECT_ALL/Add";
            if (update) {
                url = "/PLA_PROJECT_ALL/Update";
            }
            
            //提交数据
            form.on('submit(formSubmit)',
               
                function (data) {
                    debugger
                 //  $.extend(data.field, { OrgId: $.cookie('defaultorgid') });
                    
                    $.post(url,
                        data.field,
                        function (data) {
                            layer.msg(data.Message);
                        },
                        "json");
                    return false;
                });
        }
        return {
            add: function () { //弹出添加
                update = false;
                show({
                    Id: ''
                });
            },
            update: function (data) { //弹出编辑框
                update = true;
                show(data);
            }
        };
    }();

    //监听表格内部按钮
    table.on('tool(list)', function (obj) {
        var data = obj.data;
        if (obj.event === 'detail') {      //查看
            layer.msg('ID：' + data.Id + ' 的查看操作');
        }
    });
    table.on('row(list)', function (obj) {
       
        console.log(obj.tr) //得到当前行元素对象
        console.log(obj.data) //得到当前行数据
        $(".layui-table-body tr ").attr({ "style": "background:#FFFFFF" });//其他tr恢复原样
        $(obj.tr.selector).attr({ "style": "background:#5FB878" });//改变当前tr颜色
        //obj.del(); //删除当前行
        //obj.update(fields) //修改当前行数据
        mainListMx();



    });
    var mainListMx = function (options) {
        if (options != undefined) {
            $.extend(config, options);
        }
        table.reload('mainListMx', {
            url: '/UserSession/GetSubOrgs',
            where: config
            , response: {
                statusCode: 200 //规定成功的状态码，默认：0
            }
        });
    }
    //监听页面主按钮操作
    var active = {
        btnDel: function () {      //批量删除
            var checkStatus = table.checkStatus('mainList')
                , data = checkStatus.data;
            openauth.del("/PLA_PROJECT_ALL/Delete",
                data.map(function (e) { return e.Id; }),
                mainList);
        }
        , btnAdd: function () {  //添加
            editDlg.add();
        }
        , btnEdit: function () {  //编辑
            var checkStatus = table.checkStatus('mainList')
                , data = checkStatus.data;
            if (data.length != 1) {
                layer.msg("请选择编辑的行，且同时只能编辑一行");
                return;
            }
            editDlg.update(data[0]);
        }

        , search: function () {   //搜索
            mainList({ key: $('#key').val() });
        }
        , btnRefresh: function () {
            mainList();
        }
    };

    $('.toolList .layui-btn').on('click', function () {
       
        var type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
    });

    //监听页面主按钮操作 end
    //点击 监听tab
    element.on('tab(tab)', function (data) {
        
        console.log(data);
    });
    
})